Voice recognition technology attempts to receive and decode spoken words. Accordingly, voice recognition technology in some cases compensates for variations in speech between individual users and distinguish separate words, phrases and sounds from a continuous stream of audio input. Due to the complexity required to distinguish between a vast numbers of various words in a given language and further distinguish between the various accents, pitches and frequencies of individual users within that selection of words in a given language the algorithms, processing and memory required can lead to an undesirable level of mistakes, expense, processing time and training time.
Speaker independent voice recognition devices, for example, can require an immense recognition dictionary containing tens to hundreds of thousands of words and their respective phoneme representations. Such devices can also model the probability that certain words will be positioned at the beginning or end of sentences, the probability there is an association between various words, as well as algorithms for modifying word relationships or other logic based language relationships. These features can be prohibitively expensive in a low cost device or portable device with various inherent limitations in battery, processing capability, memory space and cost.